package com.huang.service;

import com.github.pagehelper.PageInfo;
import com.huang.pojo.*;

import java.util.List;

public interface AdminService {

    //管理员登陆
    Admin loginAdmin(Admin admin);

    //管理员完善个人信息
    int improveAdmin(Admin admin);

    //管理员查看所有教师信息
    List<Teacher> showAllTeacher();

    //管理员查看所有教师信息---分页查询方法
    List<Teacher> showAllTeacherByPage01(int page,int pageSize);

    //管理员查看所有教师信息---分页查询方法
    PageInfo<Teacher> showAllTeacherByPage(int page,int pageSize);

    //管理员查看所有学生的信息
    List<Student> showAllStudent();

    //管理员查看活动
    List<Activity> showAllActivity();

    //管理员发布公告
    int issueNotice(Announcement announcement);

    //历史公告
    List<Announcement> historyNotice();

    //我发布的公告
    List<Announcement> myNotice(Admin admin);

    //使活动失效
    int expiredNotice(Announcement announcement);

    //查看公告的用户反馈
    List<FeedBack> showUserFeedBack(Announcement announcement);

    //管理员根据学号查找学生
    List<Student> findStuByNo(Student student);

    //管理员根据工号查找教师
    List<Teacher> findTeaByNo(Teacher teacher);

    //管理员查看某位老师发布过的活动
    List<Activity> findActivityByTea(Teacher teacher);

    //管理员添加老师
    int addTeacher(Teacher teacher);

    //管理员根据工号查找教师
    Teacher findTeacherByNo(Teacher teacher);

    //管理员管理自己注册过的老师
    List<Teacher> showSelfTea(Admin admin);

    //管理员注销自己的注册的教师
    int removeSelfTea(Teacher teacher);

    //根据账号查找管理员
    Admin findAdminByName(Admin admin);

    //管理员查看全体管理员
    List<Admin> showAllAdmin();

    //通过管理员账号查找发布过的公告
    List<Announcement> findAnnounceByAdminName(Admin admin);

    //通过管理员账号查找注册过的老师
    List<Teacher> findTeacherByAdminName(Admin admin);

    //管理员查看活动日志
    List<UserDiary> adminViewDiary(Admin admin);
}
